widget: Remove set_csd_input_shape
authorTimm Bäder <mail@baedert.org>
Sat, 22 Feb 2020 14:25:49 +0000 (15:25 +0100)
committerTimm Bäder <mail@baedert.org>
Tue, 25 Feb 2020 13:18:24 +0000 (14:18 +0100)
Replace the only caller (unsurprisingly from gtkwindow.c) with a direct
call to gdk_surface_input_shape_combine_region.

gtk/gtkwidget.c
gtk/gtkwidgetprivate.h
gtk/gtkwindow.c

index 44bfb0db32ac5855848ac2c852b8572afb676465..14cff1092c29e52f2e30fb7d1f317a27241e3919 100644 (file)
@@ -8098,25 +8098,15 @@ gtk_widget_update_input_shape (GtkWidget *widget)
   if (surface)
     {
       cairo_region_t *region;
-      cairo_region_t *csd_region;
       cairo_region_t *app_region;
       gboolean free_region;
 
       app_region = g_object_get_qdata (G_OBJECT (widget), quark_input_shape_info);
-      csd_region = g_object_get_data (G_OBJECT (widget), "csd-region");
 
       free_region = FALSE;
 
-      if (app_region && csd_region)
-        {
-          free_region = TRUE;
-          region = cairo_region_copy (app_region);
-          cairo_region_intersect (region, csd_region);
-        }
-      else if (app_region)
+      if (app_region)
         region = app_region;
-      else if (csd_region)
-        region = csd_region;
       else
         region = NULL;
 
@@ -8127,19 +8117,6 @@ gtk_widget_update_input_shape (GtkWidget *widget)
     }
 }
 
-void
-gtk_widget_set_csd_input_shape (GtkWidget            *widget,
-                                const cairo_region_t *region)
-{
-  if (region == NULL)
-    g_object_set_data (G_OBJECT (widget), "csd-region", NULL);
-  else
-    g_object_set_data_full (G_OBJECT (widget), "csd-region",
-                            cairo_region_copy (region),
-                            (GDestroyNotify) cairo_region_destroy);
-  gtk_widget_update_input_shape (widget);
-}
-
 /**
  * gtk_widget_input_shape_combine_region:
  * @widget: a #GtkWidget
index 00c3685d14196399c9325a3aed4a8dba77729fd1..1018c9c915d0afa867f18f58a35e91c89a2ce758 100644 (file)
@@ -279,9 +279,6 @@ gboolean          _gtk_widget_consumes_motion              (GtkWidget
 
 gboolean          gtk_widget_has_tick_callback             (GtkWidget *widget);
 
-void              gtk_widget_set_csd_input_shape           (GtkWidget            *widget,
-                                                            const cairo_region_t *region);
-
 gboolean          gtk_widget_has_size_request              (GtkWidget *widget);
 
 void              gtk_widget_reset_controllers             (GtkWidget *widget);
index 0aa7583ffe8aec7b9e88d62325e5dc498097ca9c..2f93d4ee9e2b3a92566c54ea5bf5129ec8ba936e 100644 (file)
@@ -5335,7 +5335,8 @@ update_csd_shape (GtkWindow *window)
   if (rect.width > 0 && rect.height > 0)
     {
       cairo_region_t *region = cairo_region_create_rectangle (&rect);
-      gtk_widget_set_csd_input_shape (widget, region);
+
+      gdk_surface_input_shape_combine_region (priv->surface, region, 0, 0);
       cairo_region_destroy (region);
     }
 }